#!/bin/bash
# создаем репоз из пакетов
# используем repo-add
# 1 - директория с пакетами
# 2 - Имя архива репозитория (имя.tar.gz)

RES=0
ALL_OFF="\033[1;0m"
BOLD="\033[1;1m"
BLUE="${BOLD}\033[1;34m"
GREEN="${BOLD}\033[1;32m"
RED="${BOLD}\033[1;31m"
YELLOW="${BOLD}\033[1;33m"
TEMP="$(mktemp -d)"
REPOS="${TEMP}/REPO"

### USAGE
if [ "x${1}" = "x-h" -o "x${1}" = "x--help" ]; then
	echo 'Скрипт предназначен для подготовки репозитория'
	echo 'Использование:'
	echo "$0 /директория/c/пакетами /куда/положить/имя.db.tar.gz"
	exit 0
fi

error() {
  local mesg="${1}"; shift
  printf "${RED}==> $(gettext ERROR:)${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
  RES=1
  # почистим временные директории
  rm -rf $TEMP
  rm -rf ${tmp_repo}
  exit 1
}

# переменные
pack="$(readlink -e "${1}")"
[[ -z ${pack} ]] && error 'Укажите директорию с пакетами!'
dest="$(readlink -f "${2}")"
[[ -z "${dest}" ]] && error 'Имя архива не задано'

_file="$(basename "${dest}")"
reponame="${_file%%.db.tar.gz}" 
[[ "${reponame}" = "${_file}" ]] && error "Не верное имя архива"
rm -vf $(dirname ${dest})/*.db.tar.?z*

repo-add  --files "${dest}" "${pack}"/*.pkg.tar.?z && echo 'Все готово!' || error 'Ошибка при создании базы!'